課程名稱 |
計算機組織與組合語言 Computer Organization and Assembly Languages |
開課學期 |
101-1 |
授課對象 |
電機資訊學院 資訊工程學系 |
授課教師 |
莊永裕 |
課號 |
CSIE2303 |
課程識別碼 |
902 25300 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期三6,7,8(13:20~16:20) |
上課地點 |
資111 |
備註 |
總人數上限:50人 |
課程網頁 |
http://www.csie.ntu.edu.tw/~cyy/asm |
課程簡介影片 |
|
核心能力關聯 |
本課程尚未建立核心能力關連 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
組合語言可以說是最早的程式語言,亦是最貼近計算機底層運作之程式語言,藉由學習組合語言,不僅有助於軟體設計師掌握硬體之特色及限制,以開發出更有效率的程式,亦可促進其對計算機運作基本原理的暸解,亦是未來學習計算機結構及編譯程式等課程的基礎。
本課程將由最底層之邏輯閘開始,一步步向上建構出一部簡單計算機,以教授學生計算機運作之基本原理。課程的第二部份則將以現存最普及的Intel微處理器為主,其他微處理器為輔,以教授學生組合語言的基本語法及組合語言程式的基本精神。
|
課程目標 |
本課程的目標在於讓修課同學:
- 理解計算機運作的基本原理。
- 熟悉組合語言的語法、指令集及程式基本精神,本課程將以Intel之組合語言為主,其他微處理器的組合語言為輔。
- 有能力用組合語言開發模組及小規模程式。
- 有能力查閱組合語言的指令集及開發手冊,以使用進階或新增指令,並能自力學習未曾接觸過的微處理器之組合語言。
|
課程要求 |
程式作業
手寫作業
期末專題 |
預期每週課後學習時數 |
|
Office Hours |
另約時間 |
指定閱讀 |
|
參考書目 |
- Kip R. Irvine, Assembly Language for Intel-Based Computers, 5th Edition, Prentice-Hall.
- Randy Hyde, The Art of Assembly Language, No Starch Press, 2003.
- Randal E. Bryant and David R.O'Hallaron, Computer Systems: A Programmer's Perspective, by Prentice Hall, 2002.
|
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
第1週 |
9/12 |
Introduction |
第2週 |
9/19 |
Combinational logic |
第3週 |
9/26 |
Sequential logic |
第4週 |
10/03 |
Basic architecture |
第5週 |
10/10 |
Basic architecture |
第6週 |
10/17 |
Assembly fundamental |
第7週 |
10/24 |
Data transfer |
第8週 |
10/31 |
Arithmetic |
第9週 |
11/07 |
Arithmetic |
第10週 |
11/14 |
Condition processing |
第11週 |
11/21 |
Condition processing |
第12週 |
11/28 |
Procedures |
第13週 |
12/05 |
Strings and arrays |
第14週 |
12/12 |
Structure and macros |
第15週 |
12/19 |
Advanced topics |
第16週 |
12/26 |
Advanced topics |
第17週 |
1/02 |
Advanced topics |
|